import store from "../store";
import Cache from '../utils/cache';
import {
	debounce
} from '@/utils/util.js'

import {
	LOGIN_STATUS,
	USER_INFO,
	EXPIRES_TIME,
	STATE_R_KEY
} from './../config/cache';
import Routine from '@/libs/routine';

function prePage() {
	let pages = getCurrentPages();
	let prePage = pages[pages.length - 1];
	return prePage.route;
}




export const toLogin = debounce(_toLogin, 800)

function _toLogin(push, pathLogin) {
	store.dispatch("logout")
	uni.showModal({
		title: '温馨提示',
		content: '此时此刻需要您登录喔~',
		// showCancel: false,
		confirmText: "去登录",
		cancelText: "再逛会",
		success: res => {
			if (res.confirm) {
				let path = prePage();
				if (!pathLogin)
					pathLogin = '/pages/login/index'
				Cache.set('login_back_url', path);
				uni.navigateTo({
					url: '/pages/login/index'
				})
			}
			if (res.cancel && getCurrentPages().length > 1) {
				uni.navigateBack()
			}
		}
	})

}


export function checkLogin() {
	let token = Cache.get(LOGIN_STATUS);
	// let token
	let expiresTime = Cache.get(EXPIRES_TIME);
	// let newTime = Math.round(new Date() / 1000);
	if (!token) {
		uni.setStorageSync('authIng', false)
		Cache.clear(LOGIN_STATUS);
		Cache.clear(EXPIRES_TIME);
		Cache.clear(USER_INFO);
		Cache.clear(STATE_R_KEY);
		return false;
	} else {
		store.commit('UPDATE_LOGIN', token);
		let userInfo = Cache.get(USER_INFO, true);
		if (userInfo) {
			store.commit('UPDATE_USERINFO', userInfo);
		}
		return true;
	}

}
